net: ena: fix incorrect update of intr_delay_resolution
authorArthur Kiyanovski <akiyano@amazon.com>
Mon, 16 Sep 2019 11:31:36 +0000 (14:31 +0300)
committerBen Hutchings <ben@decadent.org.uk>
Tue, 19 Nov 2019 01:43:33 +0000 (01:43 +0000)
commit0183a1be857290e75dd58ab534985c9e11d24a16
tree9a250ee72a141ce5af6c22d12db9a0ef6bd9da98
parentbecd18a4f4f78e0d10a2f3208faf61f5c98c2fe6
net: ena: fix incorrect update of intr_delay_resolution

ena_dev->intr_moder_rx/tx_interval save the intervals received from the
user after dividing them by ena_dev->intr_delay_resolution. Therefore
when intr_delay_resolution changes, the code needs to first mutiply
intr_moder_rx/tx_interval by the previous intr_delay_resolution to get
the value originally given by the user, and only then divide it by the
new intr_delay_resolution.

Current code does not first multiply intr_moder_rx/tx_interval by the old
intr_delay_resolution. This commit fixes it.

Also initialize ena_dev->intr_delay_resolution to be 1.

Signed-off-by: Arthur Kiyanovski <akiyano@amazon.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Gbp-Pq: Topic features/all/ena
Gbp-Pq: Name 0012-net-ena-fix-incorrect-update-of-intr_delay_resolutio.patch
drivers/net/ethernet/amazon/ena/ena_com.c
drivers/net/ethernet/amazon/ena/ena_com.h
drivers/net/ethernet/amazon/ena/ena_netdev.c